/*
 * To change this template, choose Tools | Templates and open the template in
 * the editor.
 */
package GUI.Components;

import Tools.CMDThreadGUI;
import java.awt.Dimension;
import java.util.List;
import javax.swing.JFrame;

/**
 *
 * @author Иван
 */
public abstract class AObserverGUI {

    private final JFrame GUI;
    private CMDThreadGUI commandThread;
    private String workDirectory,
            sourceDirectory,
            destinationDirectory,
            key;
    
    private Dimension size;

    public AObserverGUI() {
        GUI = new JFrame();
    }

    public Dimension getSize() {
        return size;
    }

    public void setSize(Dimension size) {
        this.size = size;
    }

    
    public abstract String buildCommand(String commandName);

    public abstract void updateView(String processedCommand, Object parameters);

    public void setWorkDirectory(String workDirectory) {
        this.workDirectory = workDirectory;
    }

    public String getWorkDirectory() {
        return workDirectory;
    }

    public void setDestinationDirectory(String destinationDirectory) {
        this.destinationDirectory = destinationDirectory;
    }

    public String getDestinationDirectory() {
        return destinationDirectory;
    }

    public void setSourceDirectory(String sourceDirectory) {
        this.sourceDirectory = sourceDirectory;
    }

    public String getSourceDirectory() {
        return sourceDirectory;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getKey() {
        return key;
    }

    public JFrame getGUI() {
        return GUI;
    }

    public void showGUI() {
        GUI.setVisible(true);
    }

    public CMDThreadGUI getCommandThread() {
        return commandThread;
    }

    public void setCommandThread(CMDThreadGUI commandThread) {
        this.commandThread = commandThread;
    }
}
